package com.vxdata

object 函数_5_递归 {
  /**
   * 递归算法 - 阶乘
   * 1. 方法调用自身
   * 2. 方法必须要有跳出的逻辑
   * 3. 方法调用自身时，传递的参数应该有规律
   * 4. scala 中的递归必须声明函数返回值类型
   *
   * @param i
   * @return
   */
  def test(i: Int): Int = {
    if (i == 1) {
      return 1
    } else {
      return i * test(i - 1)
    }
  }

  def main(args: Array[String]): Unit = {
    println(test(9))
  }


}
